/*
 * ParcelaPagar.java
 *
 * Created on October 12, 2007, 10:46 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package petstore.model;

import petstore.model.enumeration.SituacaoParcelaPagar;
import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Entity class ParcelaPagar
 * 
 * @author Tom Hayden
 */
@Entity
@Table(name = "parcela_pagar")
@AttributeOverrides( {
    @AttributeOverride(name="id", column=@Column(name="cdparcelapagar")),
    @AttributeOverride(name="description", column=@Column(name="dshistparcpagar")),
    @AttributeOverride(name="active", column=@Column(name="ativo"))
})
public class ParcelaPagar extends BusinessObject {

    @Column(name = "nrparcelapagar")
    private Short numeroParcela;
    
    @Column(name = "dtemissaoparcpagar")
    @Temporal(TemporalType.DATE)
    private Date dataEmissao;

    @Column(name = "dtvencparcpagar")
    @Temporal(TemporalType.DATE)
    private Date dataVencimento;

    @Column(name = "vlrparcpagar")
    private Double valorParcelaPagar;

    @Column(name = "prcmultaparcpagar")
    private Double percentualMultaPagar;

    @Column(name = "vlrparcpago")
    private Double valorParcelaPago;

    @Column(name = "dtpgtoparcpagar")
    @Temporal(TemporalType.TIMESTAMP)
    private Date dataPagamento;

    @Column(name = "stparcpagar")
    @Enumerated(EnumType.ORDINAL)
    private SituacaoParcelaPagar situacaoParcelaPagar;

    @ManyToOne
    @JoinColumn(name="cdcontacorrente")
    private ContaCorrente contaCorrente;

    @ManyToOne
    @JoinColumn(name="cdesppagamento")
    private EspeciePagamento especiePagamento;
    
    /** Creates a new instance of ParcelaPagar */
    public ParcelaPagar() {
    }

    public Short getNumeroParcela() {
        return numeroParcela;
    }

    public void setNumeroParcela(Short numeroParcela) {
        this.numeroParcela = numeroParcela;
    }

    public Date getDataEmissao() {
        return dataEmissao;
    }

    public void setDataEmissao(Date dataEmissao) {
        this.dataEmissao = dataEmissao;
    }

    public Date getDataVencimento() {
        return dataVencimento;
    }

    public void setDataVencimento(Date dataVencimento) {
        this.dataVencimento = dataVencimento;
    }

    public Double getValorParcelaPagar() {
        return valorParcelaPagar;
    }

    public void setValorParcelaPagar(Double valorParcelaPagar) {
        this.valorParcelaPagar = valorParcelaPagar;
    }

    public Date getDataPagamento() {
        return dataPagamento;
    }

    public void setDataPagamento(Date dataPagamento) {
        this.dataPagamento = dataPagamento;
    }

    public Double getValorParcelaPago() {
        return valorParcelaPago;
    }

    public void setValorParcelaPago(Double valorParcelaPago) {
        this.valorParcelaPago = valorParcelaPago;
    }

    public Double getPercentualMultaPagar() {
        return percentualMultaPagar;
    }

    public void setPercentualMultaPagar(Double percentualMultaPagar) {
        this.percentualMultaPagar = percentualMultaPagar;
    }

    public SituacaoParcelaPagar getSituacaoParcelaPagar() {
        return situacaoParcelaPagar;
    }

    public void setSituacaoParcelaPagar(SituacaoParcelaPagar situacaoParcelaPagar) {
        this.situacaoParcelaPagar = situacaoParcelaPagar;
    }

    public ContaCorrente getContaCorrente() {
        return contaCorrente;
    }

    public void setContaCorrente(ContaCorrente contaCorrente) {
        this.contaCorrente = contaCorrente;
    }

    public EspeciePagamento getEspeciePagamento() {
        return especiePagamento;
    }

    public void setEspeciePagamento(EspeciePagamento especiePagamento) {
        this.especiePagamento = especiePagamento;
    }

}
